package icu.feigroup.domain.activity.service.trial;

import icu.feigroup.domain.activity.adapter.repository.IActivityRepository;
import icu.feigroup.domain.activity.model.entity.MarketProductEntity;
import icu.feigroup.domain.activity.model.entity.TrialBalanceEntity;
import icu.feigroup.domain.activity.service.trial.factory.DefaultActivityStrategyFactory;
import icu.feigroup.types.design.framwork.tree.AbstractMultiThreadStrategyRouter;
import icu.feigroup.types.design.framwork.tree.AbstractStrategyRouter;

import javax.annotation.Resource;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;

/**
 * projectName:icu.feigroup.domain.activity.service.trial
 *
 * @author 飞
 * @since 2025/2/19 11:48
 * description:抽象的拼团营销支撑类
 */
public abstract class AbstractGroupBuyMarketSupport<MarketProductEntity, DynamicContext, TrialBalanceEntity> extends AbstractMultiThreadStrategyRouter<icu.feigroup.domain.activity.model.entity.MarketProductEntity, DefaultActivityStrategyFactory.DynamicContext, icu.feigroup.domain.activity.model.entity.TrialBalanceEntity> {
    protected long timeout = 500;
    @Resource
    protected IActivityRepository repository;

    @Override
    protected void multiThread(icu.feigroup.domain.activity.model.entity.MarketProductEntity requestParameter, DefaultActivityStrategyFactory.DynamicContext dynamicContext) throws ExecutionException, InterruptedException, TimeoutException {
        // 缺省的方法
    }
}
